<template>
  <div id="used-register">
    <div style="margin: 20px auto;
    color: rgb(243, 184, 21);
    width: 100%;margin-left: 10px;">
    <el-button type="warning" plain icon="el-icon-circle-plus-outline" @click="addUsedInfo()" size="mini">添加场地登记</el-button>
    </div>
    <div class="assessment-container">
      <div class="table-container">
        <el-table
          :data="tableData"
          border
          class="table-data"
          row-class-name="row-class"
          cell-class-name="cell-class"
          header-row-class-name="header-row-class"
          header-cell-class-name="header-cell-class"
          height="calc(100vh - 300px)"
          style="overflow-y: auto"
        >
          <el-table-column label="操作" align="center" width="300px">
            <template slot-scope="scope">
              <div class="flex-align">
                <el-button type="success" plain icon="el-icon-edit" @click="editUsedInfo(scope.row)" size="mini">修改</el-button>
                <el-button type="danger" plain icon="el-icon-delete" @click="deleUsedInfo(scope.row)" size="mini">删除</el-button>
              </div>
            </template>
          </el-table-column>
          <el-table-column prop="classroomname" label="场地名称" align="center">
          </el-table-column>
          <el-table-column prop="daysList" label="使用日期" align="center">
            <template slot-scope="scoped">
              <span v-if="scoped.row['daysList'].length > 0">
                <span v-for="item in scoped.row['daysList']">{{item.startDay}}-{{item.endDay}}&nbsp;&nbsp;</span>
              </span>
              <span v-if="scoped.row['weeksList'].length > 0">
                <span v-for="item in scoped.row['daysList']">{{item.startWeek}}-{{item.endWeek}}周,{{item.week}}/</span>
              </span>
            </template>
          </el-table-column>
          <el-table-column
            prop="daysList"
            label="使用节次"
            align="center"
          >
           <template slot-scope="scoped">
              <span v-for="item in scoped.row['daysList']">{{item.courseText}}</span>
            </template>
          </el-table-column>
          <el-table-column
            prop="usepeople"
            label="使用人"
            align="center"
          >
          </el-table-column>
          <el-table-column
            prop="reason"
            label="事由"
            align="center"
          >
          </el-table-column>
        </el-table>
      </div>
    </div>
    <div class="wrapper-container">
      <div class="bottom-block" style="display: block">
        <div class="text">当前共找到{{ total }}条记录,当前显示{{ startPage }}-{{ endPage }}条</div>
      </div>
      <div class="pagination-block">
        <el-pagination
          prev-text="上一页"
          next-text="下一页"
          :page-size="pageSize"
          layout="prev, pager, next, jumper"
          :total="total"
          @current-change="handleCurrentChange"
          :current-page="currentPage"
        >
        </el-pagination>
      </div>
    </div>

    <el-dialog title="提示" :visible.sync="deleUsedInfoDialog" class="sccz" width="500px">
      <div class="class-tip">您确定删除当前登记信息?</div>
      <span slot="footer" class="dialog-footer">
        <button class="green" @click="submitDeletedInfo">确 定</button>
        <button
          class="yellow"
          @click="deleUsedInfoDialog = false"
          style="margin-left: 60px"
        >
          取 消
        </button>
      </span>
    </el-dialog>

  </div>
</template>

<script>
import {cdsydj_place_list, deletePlaceInfo} from "@/api/trainingManagement/place.js";
import ButtonItem from "@/components/ButtonItem.vue";

export default {
  components: {
    ButtonItem,
  },
  data() {
    return {
      tableData: [],
      delId: '',
      deleUsedInfoDialog: false, //删除弹窗
      total: 0, //总条数
      pageSize: 50, //条数
      startPage: 0, //开始条数
      endPage: 0, //结束条数
      currentPage: 1, //当前页数
    };
  },
  created() {},
  mounted() {
    this.queryPlaceInfo();
  },
  methods: {
    handleCurrentChange(val) {
      this.currentPage = val;
      this.queryPlaceInfo();
    },
    // 确认删除
    async submitDeletedInfo() {
      deletePlaceInfo(this.delId).then(res => {
        if (res.data.code == 200) {
          this.$message.success("删除成功!");
          this.deleUsedInfoDialog = false;
          this.queryPlaceInfo();
        }
      })
    },

    deleUsedInfo(row) {
      this.delId = row.registid
      this.deleUsedInfoDialog= true;
    },
    async queryPlaceInfo() {
    // this.tableData.forEach(item => {
    //   if (item.daysList.length > 0) {
    //     item.daysList.forEach(da => {
    //       da.courseText = "";
    //       if (da.courses.length > 0) {
    //         if (da.courses.length == 1) {
    //           da.courseText = da.courses + "节";
    //         } else {
    //           let arr = da.courses.split(",");
    //           da.courseText = arr[0] + "-" + arr[arr.length - 1] + "节";
    //         }
    //       }

    //     })
    //   }
    // })
      var current = this.currentPage;
      var size = this.pageSize;
      const res = await cdsydj_place_list(current, size);
      if (res.data.code == 200) {
        var tmpData = res.data.data.records;
        tmpData.forEach(item => {
          if (item.daysList.length > 0) {
            item.daysList.forEach(da => {
              da.courseText = "";
              if (da.courses.length > 0) {
                if (da.courses.length == 1) {
                  da.courseText = da.courses + "节";
                } else {
                  let arr = da.courses.split(",");
                  da.courseText = arr[0] + "-" + arr[arr.length - 1] + "节";
                }
              }

            })
          }
        })
        this.tableData = tmpData;
        this.total = res.data.data.total;
        var length = res.data.data.records.length;
        this.calculatePage(this.pageSize, res.data.data.current, length);
      }
    },
     // 计算开始和结束条数
    calculatePage(pageSize, current, length) {
      if (current == 1) {
        if (length != 0) {
          this.startPage = 1;
          this.endPage = length;
        }
      } else {
        this.startPage = pageSize * (current - 1) + 1;
        this.endPage = parseInt(this.startPage) + parseInt(length) - 1;
      }
    },
    addUsedInfo() {
      this.$router.push({
        path:"/admin/place/addUsedRegister",
        params: {
          type: "add"
        }
      })
    },
    editUsedInfo(row) {
      this.$router.push({
        path:"/admin/place/addUsedRegister",
        query: {
          type: "edit",
          registid: row.registid
        }
      })
    }
  },
  computed: {}, //计算属性
};
</script>
<style lang="less" scoped>
.assessment-container {
  .el-dialog__body {
    height: 251px;
  }
  .el-dialog__footer {
    padding: 10px 20px 45px;
  }
  .el-checkbox__inner:hover {
    border-color: #004ca7;
  }
  .el-checkbox__inner {
    border: 1px solid #004ca7;
    border-radius: 0;
    height: 18px;
    width: 18px;
  }
  .el-checkbox__inner::after {
    height: 10px;
    left: 6px;
  }
  .el-checkbox__input.is-checked .el-checkbox__inner,
  .el-checkbox__input.is-indeterminate .el-checkbox__inner {
    background-color: #004ca7;
    border-color: #004ca7;
  }
  .el-checkbox__input.is-checked + .el-checkbox__label {
    color: #004ca7;
  }
  .el-checkbox.is-bordered.is-checked {
    border-color: #004ca7;
  }
  .el-checkbox__input.is-focus .el-checkbox__inner {
    border-color: #004ca7;
  }
}
</style>
<style lang="less" scoped>
@import "../../../../styles/text.less";
/deep/ .szjky .el-dialog__body {
  height: 432px;
}
.pagination-block {
  margin-top: 20px;
  display: flex;
  flex-direction: row;
  justify-content: center;
}
.message-container {
  > div {
    display: inline-block;
    &:nth-child(1) {
      padding-left: 111px;
      font-size: 20px;
      color: rgba(0, 76, 167, 1);
      font-weight: bold;
      vertical-align: top;
    }
    &:nth-child(2) {
    }
  }
}
</style>
<style lang="less" scoped>
@import "../../../../styles/supervision.less";

.wrapper-container {
  width: calc(100% - 20px);
  margin: 0 auto;
}

/deep/ .table-container {
  .el-table td,
  .el-table th.is-leaf,
  .el-table--border,
  .el-table--group {
    border-color: #c7d7eb;
  }

  .el-table__header tr,
  .el-table__header th {
    padding: 0;
    height: 76px;
    background-color: #edf2f9;
    font-size: 16px;
    font-family: Microsoft YaHei;
    font-weight: bold;
    line-height: 20px;
    color: #004ca7;
  }

  .el-table__body tr,
  .el-table__body td {
    padding: 0;
    height: 86px;
  }

  .wrapper-button {
    display: flex;
    flex-direction: column;
    align-items: center;

    > div {
      margin-bottom: 8px;
    }
  }
  .table-data {
    width: 100%;
    border: 0.8px solid #004ca7;
    /*border-radius: 9px;*/
    font-size: 14px;
    font-family: Microsoft YaHei;
    font-weight: 400;
    color: #004ca7;
  }
}

.wrapper-container .search-container .search-container-left {
  flex-wrap: wrap;
  .search-container-item {
    width: 12%;
    margin-right: 0px;
    .box {
      > span {
        text-align: left;
      }
      display: flex;
      justify-content: space-evenly;
      margin-bottom: 20px;
      align-items: center;
    }
  }
}

/deep/.el-date-editor.el-input {
  width: 110px;
}
/deep/ .el-input--medium {
  width: 110px;
  .el-input__inner {
    height: 28px;
    width: 110px;
    padding: 0px 18px;
  }
}
/deep/ .el-table thead {
  color: #004ca7 !important;
}

.btn {
  margin-top: 271px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 271px;
  .submit {
    width: 84px;
    height: 27px;
    line-height: 8px;
  }
}
.bottom-block {
  // display: flex;
  flex-direction: row;
  justify-content: space-between !important;
  .export-button {
    width: 127px;
    height: 27px;
    background: #fff6ef;
    border: 1px solid #f3b815;
    border-radius: 4px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    margin-top: 14px;
    > img {
      width: 17px;
      height: 17px;
    }
    > span {
      margin-left: 12px;
      font-size: 14px;
      font-family: Microsoft YaHei;
      font-weight: 400;
      color: #f3b815;
    }
  }
  .text {
    font-size: 14px;
    font-family: Microsoft YaHei;
    font-weight: 400;
    line-height: 39px;
    color: #004ca7;
  }
}

.flex-align {
  display: flex;
    align-items: center;
    justify-content: space-around;
}

.assessment-container {
  width: calc(100% - 20px);
  .table-container {
     width: 100%;
  }
}

.sccz {
  /deep/ .el-dialog {
    height: 320px;
  }
}

.class-tip {
  color: #004ca7;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  margin: 40px;
}
</style>

<style lang="less" scoped>
  #used-register{
    /deep/ .el-button--warning.is-plain{
      background: #FFF6EF;
      border-color: #F3B815;
      color: #F3B815;
      border-radius: 6px;
    }
    /deep/ .el-button--warning.is-plain:focus, .el-button--warning.is-plain:hover{
      color: #F3B815;
      background: #FFF6EF;
      border: 1px solid #F3B815;
      border-radius: 6px;
    }

    /deep/ .el-button--success.is-plain{
      background: #F1FFF8;
      border-color: #02C86C;
      color: #02C86C;
      border-radius: 6px;
    }
    /deep/ .el-button--success.is-plain:hover{
      background: #F1FFF8;
      border: 1px solid #02C86C;
      color: #02C86C;
      border-radius: 6px;
    }

    /deep/ .el-button--primary.is-plain{
      background: #F1F8FE;
      border-color: #51AEF6;
      color: #51AEF6;
      border-radius: 6px;
    }

    /deep/ .el-button--primary.is-plain:hover{
      background: #F1F8FE;
      border: 1px solid #51AEF6;
      color: #51AEF6;
      border-radius: 6px;
    }

    /deep/ .el-button--danger.is-plain{
      background: #FFEFEF;
      border-color: #FF3819;
      color: #FF3819;
      border-radius: 6px;
    }

    /deep/ .el-button--danger.is-plain:hover{
      background: #FFEFEF;
      border: 1px solid #FF3819;
      color: #FF3819;
      border-radius: 6px;
    }
  }
</style>
